package com.tich.common.enumration;

import lombok.Getter;

/**
 * 图片类型枚举类
 * */
@Getter
public enum ImageType {

    // 枚举实例（按业务需求补充）
    AVATAR(1, "avatar/", "用户头像"),
    PRODUCT(2, "product/", "商品图片"),
    POST(3, "post/", "帖子图片"),
    OTHER(4, "other/", "其他");

    private final int type;      // 类型标识（如1=头像）
    private final String path;   // 存储路径
    private final String name;   // 类型名称

    /**
     * 枚举构造函数
     * @param type 类型ID
     * @param path 存储路径
     * @param name 类型名称
     */
    ImageType(int type, String path, String name) {
        this.type = type;
        this.path = path;
        this.name = name;
    }

    /**
     * 根据类型ID获取对应枚举
     * @param type 类型ID
     * @return 对应的枚举实例
     * @throws IllegalArgumentException 如果找不到对应类型
     */
    public static ImageType getByType(int type) {
        for (ImageType value : values()) {
            if (value.getType() == type) {
                return value;
            }
        }
        throw new IllegalArgumentException("无效的图片类型ID: " + type);
    }

}
